<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page import="com.esurvey.core.*" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.sql.Date" %>
<HTML>
<HEAD>
	<TITLE>eSurvey - Men&uacute; principal</TITLE>
<LINK href="styles/general.css" type="text/css" rel="stylesheet">
<LINK href="styles/encuestador.css" type="text/css" rel="stylesheet">
<SCRIPT src="jquery/jquery.js" type="text/javascript"></SCRIPT>
<SCRIPT src="js/global.js" type="text/javascript"></SCRIPT>
<SCRIPT type="text/javascript">
/**
  * ESPECIFICACIÓN: Función que carga la encuesta pulsada llamándo a la página correspondiente
  * pasándole como parámetro el id correspondiente de la encuesta.
  **/
function userViewSurvey(idSurvey) {
	window.location="userViewSurvey.jsp?idSurvey="+idSurvey;
}
/**
  * ESPECIFICACIÓN: Función que elimina la encuesta indicada, pidiendo previamente confirmación
  **/
function userDeleteSurvey(idSurvey) {
	var confirmar=confirm("Estas seguro de eliminar la encuesta con identificador '"+idSurvey+"'?");
	if (confirmar) {
		window.location="userDeleteSurvey.jsp?idSurvey="+idSurvey;
	}
}
</SCRIPT>
<STYLE>
	div#profile {
		margin-top: 20px;
	}
</STYLE>
</HEAD>
<%
if ((session.getAttribute("kind") == "admin") && (request.getParameter("idUser") != null)) {
	try {
		//cargamos toda la información del usuario que se ha logueado
		int idUserSelec = Integer.parseInt((String) request.getParameter("idUser"));
		User user = eSurveyPersistence.loadUser(idUserSelec);
		//creamos el atributo correspondiente en la sesión
		session.setAttribute("userSelected", idUserSelec);
		//cargamos las encuestas que pertenecen al usuario logueado
		ArrayList<Survey> userSurveys = eSurveyPersistence.loadSurveys(user.getId()); 
%>
	<BODY>
		<DIV id="general">
			<DIV id="header">
				<%@ include file="header.jsp" %>
			</DIV>
			<DIV id="content">
				<DIV id="main">
					<%
						if (session.getAttribute("kind") == "admin") {
							out.println("<H1 style='margin-left: 150px'>Men&uacute; principal de encuestadores del usuario '"+user.getLogin()+"'</H1>");
						} else {
							out.println("<H1>Men&uacute; principal de encuestadores</H1>");
						}
					%>
					<DIV id="mySurveys">
						<DIV id="headerMySurveys">
							<H2>Mis encuestas:</H2>
							<%
								if (session.getAttribute("kind") != "admin") {
									out.println("<A href='userAddSurvey.jsp'><INPUT type='button' value='Crear nueva encuesta' class='addSurvey'></A>");
								}
							%>
						</DIV>
						<DIV id="resultsSurveysTable">
							<FIELDSET class="fieldset"><LEGEND class="fieldsetTitle">Encuestas pendientes</LEGEND>
								<TABLE class="resultsSurveysTable">
									<TR class="headerTable">
										<TH>Tipo</TH>
										<TH>Asunto</TH>
										<TH>Categor&iacute;a</TH>
										<TH>Fecha de vencimiento</TH>
										<TH>Encuestados</TH>
										<TH>An&oacute;nima</TH>
										<TH class="novisible"></TH>
									</TR>
									<%
										try {
											//cargamos las diferentes encuestas en la tabla correspondiente, comprobando que cada una
											//de ellas no haya llegado a su fecha límite
											for (Survey s: userSurveys) {
												//obtenemos la fecha de hoy y la comparamos con la fecha límite de la encuesta
												java.util.Calendar fechaActual = new java.util.GregorianCalendar();
												long fechaActualMilisegundos = fechaActual.getTimeInMillis();
												if (fechaActualMilisegundos < s.getDueDate().getTime()) {  
													out.println("<TR class='noHeader'>");
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getKindToString()+"</TD>");
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getSubject()+"</TD>");

													//cargamos los datos de la categoría de la encuesta actual
													Category c = eSurveyPersistence.loadCategory(s.getIdCategory());
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+c.getName()+"</TD>");

													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getDueDateToString()+"</TD>");
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>-</TD>");

													//asignamos el valor correspondiente al campo en función de si es anónima o no
													if (s.isAnonymous()) {
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>S&iacute;</TD>");
													} else {
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>No</TD>");
													}

													out.println("<TD class='novisible'><IMG src='images/unchecked.gif' title='Eliminar encuesta' onclick='userDeleteSurvey("+s.getId()+")' /></TD>");

													out.println("</TR>");
												}
											}
										} catch (Exception e) {
											response.sendRedirect("error.jsp?exception="+e);
										}
									%>
								</TABLE>
							</FIELDSET>
						</DIV>
						<DIV id="resultsSurveysTable">
							<FIELDSET class="resultsTables"><LEGEND class="fieldsetTitle">Encuestas cerradas</LEGEND>
								<TABLE class="resultsSurveysTable">
									<TR class="headerTable">
										<TH>Tipo</TH>
										<TH>Asunto</TH>
										<TH>Categor&iacute;a</TH>
										<TH>Fecha de vencimiento</TH>
										<TH>Encuestados</TH>
										<TH>An&oacute;nima</TH>
										<TH></TH>
									</TR>
									<%
										try {
											//cargamos las diferentes encuestas en la tabla correspondiente, comprobando que cada una
											//de ellas sí haya llegado a su fecha límite
											for (Survey s: userSurveys) {
												//obtenemos la fecha de hoy y la comparamos con la fecha límite de la encuesta
												java.util.Calendar fechaActual = new java.util.GregorianCalendar();
												long fechaActualMilisegundos = fechaActual.getTimeInMillis();
												if (fechaActualMilisegundos >= s.getDueDate().getTime()) { 
													out.println("<TR class='noHeader'>");
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getKindToString()+"</TD>");
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getSubject()+"</TD>");

													//cargamos los datos de la categoría de la encuesta actual
													Category c = eSurveyPersistence.loadCategory(s.getIdCategory());
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+c.getName()+"</TD>");

													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getDueDateToString()+"</TD>");
													out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>-</TD>");

													//asignamos el valor correspondiente al campo en función de si es anónima o no
													if (s.isAnonymous()) {
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>S&iacute;</TD>");
													} else {
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>No</TD>");
													}

													out.println("<TD><IMG src='images/unchecked.gif' title='Eliminar encuesta' onclick='userDeleteSurvey("+s.getId()+")' /></TD>");

													out.println("</TR>");
												}
											}
										} catch (Exception e) {
											response.sendRedirect("error.jsp?exception="+e);
										}
									%>
								</TABLE>
							</FIELDSET>
						</DIV>
					</DIV>
					<DIV id="profile">
						<H2>Perfil:</H2>
						<FIELDSET class="fieldset profileFieldset"><LEGEND class="fieldsetTitle">Datos personales</LEGEND>
							<UL>
								<LI>
									<LABEL id="lblUser" class="labelTitle">
										Usuario:
									</LABEL>
									<LABEL id="lblUserValue" class="labelValue">
										<%= user.getLogin() %>
									</LABEL>
								</LI>
								<LI>
									<LABEL id="lblName" class="labelTitle">
										Nombre:
									</LABEL>
									<LABEL id="lblUserValue" class="labelValue">
										<%= user.getName() %>
									</LABEL>
								</LI>
								<LI>
									<LABEL id="lblSurname" class="labelTitle">
										Apellidos:
									</LABEL>
									<LABEL id="lblSurnameValue" class="labelValue">
										<%= user.getSurname() %>
									</LABEL>
								</LI>
								<LI>
									<LABEL id="lblEmail" class="labelTitle">
										Email:
									</LABEL>
									<LABEL id="lblEmailValue" class="labelValue">
										<%= user.getEmail() %>
									</LABEL>
								</LI>
							</UL>
						</FIELDSET>
					</DIV>
				</DIV>
				<DIV id="nav">
					<DIV class="tabs">
						<%@ include file="adminTabs.html" %>
					</DIV>
				</DIV>
			</DIV>
			<DIV id="footer">
				<%@ include file="footer.jsp" %>
			</DIV>
		</DIV>
	</BODY>
<%
	} catch (Exception e) {
		response.sendRedirect("error.jsp?exception="+e);
	}
} else {
		response.sendRedirect("login.jsp");
}
%>
</HTML>
